Skip to content

feat(warp): preserve raw warp rows in uploaded sessions#133

Merged
daveslutzkin merged 1 commit intomainfrom
feat/warp-raw-upload
Apr 7, 2026
Merged

feat(warp): preserve raw warp rows in uploaded sessions#133
daveslutzkin merged 1 commit intomainfrom
feat/warp-raw-upload

Conversation

@daveslutzkin
Copy link
Copy Markdown
Contributor

Purpose

Preserve substantially more raw Warp session evidence in uploaded session blobs without breaking the current server-side Warp parser.

Summary

This change keeps the existing normalized Warp transcript output intact and appends supplemental raw JSONL rows for the Warp tables we currently read.

Specifically, it:

  • continues emitting the existing normalized user, assistant, tool_call, tool_result, and warp_meta Warp events
  • appends namespaced raw rows for ai_queries, agent_tasks, agent_conversations, and blocks
  • preserves raw agent_tasks.task blobs as base64 plus a SHA-256 fingerprint
  • fetches raw agent_conversations and blocks rows per conversation so the uploaded blob carries more of the underlying Warp evidence
  • keeps block-based cwd fallback behavior unchanged for current metadata recovery
  • adds focused Warp tests around raw JSONL shape and task blob fidelity
  • adds the base64 dependency required for raw task blob preservation

Important Review Points

  • Raw compatibility lane: the new warp_raw_* rows intentionally avoid top-level content and cwd-like fields, and keep raw payloads nested under raw, so current server parsing should ignore them rather than misclassify them as transcript content or repo metadata.
  • Raw evidence coverage: review the new raw row builders and fetchers in src/agents/warp.rs to confirm we are carrying forward the tables and fields we care about for phase 1.
  • Task blob preservation: review the task_blob_base64 and task_blob_sha256 handling to confirm the raw agent_tasks.task payload is preserved losslessly enough for later server-side analysis.

Test Plan

  • cargo fmt
  • cargo test --no-fail-fast
  • cargo clippy (completes with one unrelated existing warning in src/agents/cursor.rs)

Keep the existing normalized Warp transcript events for compatibility while appending namespaced raw JSONL rows for ai_queries, agent_tasks, agent_conversations, and blocks. The raw evidence stays nested under a raw object so current server parsing ignores it instead of misclassifying it as transcript content or cwd metadata.

This also preserves agent_tasks task blobs as base64 plus a SHA-256 fingerprint, reuses block rows for cwd fallback, and adds Warp-focused tests covering the raw JSONL shape and task blob fidelity.
Copy link
Copy Markdown

@cadence cadence bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cadence PR Review

Goal
Extend Warp session upload so Cadence keeps the current normalized transcript behavior while appending additional raw Warp database evidence for later server-side analysis, especially raw ai_queries, agent_tasks, agent_conversations, and blocks rows. The key constraint was preserving parser compatibility by keeping the new evidence namespaced and nested so existing server logic ignores it.

Signal Details
Score A clear scope, strong constraint adherence
Models gpt-5.4
Phases 25% investigation, 60% implementation, 15% verification

Key Decisions

  • The user chose a phase-1 compatibility strategy: keep normalized Warp events unchanged and append separate warp_raw_* rows instead of changing the existing schema.
  • The model expanded scope beyond ai_queries and agent_tasks to also fetch per-conversation agent_conversations and blocks raw rows so uploads carry more underlying evidence.
  • The user and model kept cwd recovery behavior on the existing fallback path rather than moving repo metadata onto the new raw rows.

Outcome

The model appears to have delivered the requested Warp raw-evidence lane cleanly and stayed aligned with the compatibility constraints called out in the PR. The implementation is focused, includes targeted tests for the risky parser-compatibility and task-blob-preservation requirements, and shows little sign of unnecessary drift.

If this review was useful, please react with 👍 below. Otherwise, react with 👎.

@daveslutzkin daveslutzkin merged commit 9c40565 into main Apr 7, 2026
3 checks passed
@daveslutzkin daveslutzkin deleted the feat/warp-raw-upload branch April 7, 2026 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant